﻿using RuoVea.OmiApp.Template.Dto;
using RuoVea.ExDto;
using RuoVea.OmiApp.Template.Entitys;

namespace RuoVea.OmiApp.Template.Service
{/// <summary>
/// 字典类型
/// </summary>
    public interface ISysDictTypService
    {
        /// <summary>
        /// 添加
        /// </summary>
        /// <param name="data"></param>
        /// <returns></returns>
        Task<RestfulResult> AddDataAsync(SysDictTypeDto data);
        /// <summary>
        /// 更新字典类型状态
        /// </summary>
        /// <param name="data"></param>
        /// <returns></returns>
        Task<RestfulResult> ChangeDictTypeStatus(ChangeStateDictTypeInput data);
        /// <summary>
        /// 删除
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        Task<RestfulResult> DeleteDataAsync(long id);
        /// <summary>
        /// 根据主键查询
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        Task<RestfulResult<SysDictTypeDto>> GetDataAsync(long id);
        /// <summary>
        /// 获取系统参数配置列表
        /// </summary>
        /// <returns></returns>
        Task<List<SysDictType>> GetDataList();
        /// <summary>
        /// 获取字典类型下所有字典值
        /// </summary>
        /// <param name="data"></param>
        /// <returns></returns>
        Task<RestfulResult<List<SysDictValue>>> GetDictTypeDropDown(DropDownDictTypeInput data);
        /// <summary>
        /// 查询所有/分页
        /// </summary>
        /// <param name="data"></param>
        /// <returns></returns>
        Task<RestfulResult<PageResult<SysDictTypeDto>>> GetPagesAsync(SysDictTypeParam data);
        /// <summary>
        /// 修改
        /// </summary>
        /// <param name="data"></param>
        /// <returns></returns>
        Task<RestfulResult> UpdateDataAsync(SysDictTypeDto data);
    }
}